package com.ruoyi.system.domain;

import java.util.Date;
import java.util.List;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.system.domain.vo.PurchaseMaterialOrderVO;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;

/**
 * 采购订单对象 project_purchase_order
 * 
 * @author ruoyi
 * @date 2025-03-11
 */
@Data
public class ProjectPurchaseOrder
{
    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @ApiModelProperty(value = "项目id")
    private Integer projectId;

    @ApiModelProperty(value = "采购员id")
    private Long purchaseUserId;

    @ApiModelProperty(value = "项目申请id")
    private Integer projectPurchaseId;

    @ApiModelProperty(value = "商家单位")
    private String company;

    @ApiModelProperty(value = "商家/送货人联系方式")
    private String contactPhone;

    @ApiModelProperty(value = "合同号")
    private String contractNumber;

    @ApiModelProperty(value = "收货方式 1快递 2货车")
    private String deliveryMethod;

    @ApiModelProperty(value = "收货照片")
    private String deliveryImg;

    @ApiModelProperty(value = "收货信息 快递单号/货车号")
    private String deliveryInfo;

    @ApiModelProperty(value = "收货人")
    private Long deliveryUserId;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "到货时间")
    private Date deliveryTime;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "创建时间")
    private Date createdTime;

    @ApiModelProperty(value = "清单照片")
    private String inventoryImg;

    @ApiModelProperty(value = "现场照片")
    private String sceneImg;

    @ApiModelProperty("收货备注")
    private String deliveryMemo;

    private Integer companyId;

    @TableField(exist = false)
    private String projectName;

    @ApiModelProperty("选择的采购idList")
    @TableField(exist = false)
    private List<PurchaseMaterialOrderVO> purchaseMaterialOrderList;

    @TableField(exist = false)
    private List<ProjectPurchaseMaterial> projectPurchaseMaterialList;
}
